home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / clk8.doc < prev    next >
Text File  |  1995-03-31  |  9KB  |  204 lines

  1.                              CLK.DOC File 
  2.                                       
  3.                   (c) Hewlett-Packard Company, 1992. 
  4.  
  5.  
  6. Overview 
  7. -------- 
  8.  
  9. The CLK application keeps the system clock as accurate as possible by 
  10. synchronizing the clock with a time standard, and using the accumulated 
  11. adjustments with the elapsed time to compute the necessary correction 
  12. amount/rate.  It is especially useful for applications like navigation that 
  13. require extremely accurate times. 
  14.  
  15. Adjustments are made relative to the nearest number of 1/2 hour time-zone 
  16. changes. All changes that are multiples of 1/2 hour are assumed time-zone 
  17. changes (and ignored in error correction computation); other changes are 
  18. assumed error corrections.  For example, a change of +1:35 is assumed to be 
  19. +1:30 time-zone change (ignored) and +:05 error correction (the clock is 5 
  20. minutes slow).  A change of +1:25 is assumed to be +1:30 time-zone and -:05 
  21. error (the clock is 5 minutes fast). 
  22.  
  23.  
  24. Installation 
  25. ------------ 
  26.  
  27. Transfer CLK into your HP 48 HOME directory.  (Don't use the HP 48 built-in 
  28. TIME SET/ADJST operations while this application is active.) 
  29.  
  30.  
  31. Operation 
  32. --------- 
  33.  
  34. 1.  Press [VAR]|CLK| to access the application. 
  35.  
  36. 2.  Enter a list containing the minimum interrupt rate and the maximum 
  37.     clock deviation allowed, press |C.RST|.  (This initializes the 
  38.     application.) 
  39.  
  40. 3.  If necessary, enter a list containing the current time and date, press 
  41.     |C.SET|. 
  42.  
  43. 4.  Enter the desired adjustment, press |C.ADJ|. 
  44.  
  45. 5.  Repeat steps 4 and 5 as needed. 
  46.  
  47. 6.  Press |C.XCT| when the clock is synchronized. 
  48.  
  49. 7.  Wait a few weeks and then repeat steps 4, 5, 6, and 7. 
  50.  
  51. 8.  Press |C.STS| to review the status information. 
  52.  
  53. 9.  Press |C.SSP| to suspend the correction alarm cycle temporarily; press 
  54.     |C.CNT| to continue the suspended correction alarm. 
  55.  
  56. 10. Repeat step 3 to cancel the correction alarm and reinitialize all CLK 
  57.     variables. 
  58.  
  59. --------------------------------------------------------------------------- 
  60.  Note:  If you abort the program, flags that were changed by the program 
  61.         will remain changed. 
  62. --------------------------------------------------------------------------- 
  63.  
  64.  
  65. User Menu Keys 
  66. -------------- 
  67.  
  68. The following five programs make up the user interface to this package. 
  69. Each will give an error message if the expected input is not found. The 
  70. error message attempts to indicate the form of the input expected. Time 
  71. input should be in the form HH.MMSSs, and date input should be MM.DDYYYY. 
  72.  
  73. |C.SET|   Takes a level-1 list containing the current time and date.  The 
  74.           clock is set to this time/date. 
  75.  
  76. |C.ADJ|   Takes from level 1 the amount of adjustment to be applied to the 
  77.           current time.  A positive amount increases the time and a 
  78.           negative amount decreases it. 
  79.  
  80. |C.XCT|   Takes nothing from the stack; tells the correction package that 
  81.           the clock is now exactly synchronized with the time standard.  If 
  82.           this is the first time it has been invoked, then a time base is 
  83.           activated and all error corrections from this point on will be 
  84.           accumulated.  If this is the second or subsequent invocation, 
  85.           then the time base is extended to this point and the necessary 
  86.           calculations are done to set up the clock correction package.  An 
  87.           alarm is scheduled and the correction package will make the 
  88.           needed clock corrections from now on.  Subsequent invocations 
  89.           will refine the accuracy of the corrections. 
  90.  
  91. |C.RST|   Takes a level-1 list containing the minimum interrupt rate and 
  92.           the maximum clock deviation allowed (both in "time" format).  The 
  93.           correction package is reset to a virgin state--the time base is 
  94.           deactivated, the alarm is removed, and further error corrections 
  95.           will not be accumulated (the accumulators are cleared).  All 
  96.           variables are reinitialized and the directory is reordered. 
  97.  
  98.           Maximum clock deviation specifies the maximum acceptable error 
  99.           for the clock. If the absolute value of the given maximum 
  100.           deviation is less than .01 second, then it is set to 1 second. 
  101.  
  102.           Minimum interrupt rate specifies the minimum amount of time 
  103.           required between clock adjustments.  If the absolute value of the 
  104.           given minimum interrupt rate is less than 1 second, then it is 
  105.           set to 1 minute.  If the clock cannot be adjusted to accurate 
  106.           time with the given maximum deviation without using alarms at a 
  107.           more frequent rate than allowed by the minimum interrupt rate, 
  108.           the correction amount will be increased as needed to ensure that 
  109.           alarms do not occur more often.  Consequently, the clock may not 
  110.           be as accurate as specified by the maximum deviation.  This 
  111.           ensures that alarms are not occurring so often that the HP 48 has 
  112.           no time to do anything else (see the "Note" at the end of the 
  113.           documentation). 
  114.  
  115. |C.STS|   Takes no input from level 1; provides 3 pages of status 
  116.           information about the correction package. 
  117.  
  118.           All pages have this header: 
  119.  
  120.               Correction status     -N-    (Where N = 1, 2, or 3) 
  121.  
  122.           All pages have this foot: 
  123.  
  124.               prev:{up-arrow}  exit:{down arrow}  next:{right arrow} 
  125.  
  126.           The first page of status information looks like this: 
  127.  
  128.              Exact initiated(*): 
  129.              9.1455  10.301989 
  130.              Deviation:   0.000025 
  131.              Min rate:    1.0000 
  132.  
  133.           The first two lines show the time and date of the first exact 
  134.           synchronization.  If the display shows "none," an exact has never 
  135.           been done.  If there is an (*), then 2 or more exacts have been 
  136.           done and the package is fully activated.  If there is no (*), 
  137.           only one exact has been done (errors are being accumulated but no 
  138.           corrections are being done yet).  The third line shows user 
  139.           specified maximum clock deviation (1/4 second in example).  The 
  140.           fourth line shows the user specified minimum interrupt rate (1 
  141.           hour in example). 
  142.  
  143.           The second page contains adjustment data: 
  144.  
  145.              Timezones:    0.0000 
  146.              Errors:       0.001890 
  147.              Timebase:  1718.3909 
  148.  
  149.           The first line shows the total accumulated time-zone changes. 
  150.           The second line shows the total accumulated error corrections 
  151.           (18.9 seconds in example).  The third line shows the total time 
  152.           included in the time base (1718 hours, 39 minutes, and 9 seconds 
  153.           in example). 
  154.  
  155.           The third page contains correction data: 
  156.  
  157.              Next correction: 
  158.              11.1644  1.101990 
  159.              Repeat:     22.4520 
  160.              Adjust:      0.000025 
  161.  
  162.           The first line may be either "Next correction:" (the next 
  163.           correction time is displayed) or "Adjust suspended:" (the time 
  164.           that the corrections were suspended is displayed).  The third 
  165.           line shows the repeat interval of the alarm (22 hours, 45 
  166.           minutes, and 20 seconds in example).  The fourth line shows the 
  167.           correction adjustment amount (+1/4 second in example). 
  168.  
  169.           If a status is displayed for 1 minute with no keys pressed, it 
  170.           times out and exits. 
  171.  
  172. |C.SSP|   Suspends the correction alarm (if corrections are active). The 
  173.           status report will indicate the time of the suspension. If the 
  174.           |C.SET|, |C.ADJ|, or |C.XCT| keys are used while the correction 
  175.           alarm is suspended, the results may not be correct. (|C.SSP| is 
  176.           found on page 2 of the menu.) 
  177.  
  178. |C.CNT|   Resumes (continues) the correction alarm cycle if corrections are 
  179.           active. Any missed corrections will be made and the next 
  180.           correction alarm will be set up. (|C.CNT| is found on page 2 of 
  181.           the menu.) 
  182.  
  183.  
  184. Application Menu Keys 
  185. --------------------- 
  186.  
  187. The |C.TLS| menu key contains subroutines and variables used internally by 
  188. the application. You do not need to use them to run the application. 
  189.  
  190. --------------------------------------------------------------------------- 
  191.  Note:  The alarm should work regardless of the directory path when the 
  192.         alarm occurs, and it should leave things as they were when it 
  193.         happened.  However, if the HP 48 is off when the alarm occurs, it 
  194.         will be turned on and left on until the HP 48 times out. If alarms 
  195.         occur at a rate less than the time-out period, the HP 48 will 
  196.         always be on. If anything is being done when the alarm occurs, the 
  197.         alarm will either not process immediately (when a program is 
  198.         running, the alarm doesn't process until the program terminates), 
  199.         or it will abort what is happening (edits will be terminated as if 
  200.         the [ATTN] key had been pressed). 
  201. --------------------------------------------------------------------------- 
  202.  
  203. V. 1.0 04/26/92 04:09 PM 
  204.